/** Base Class for stimuli that draw a world but are not composed of dots,
    e.g. a texture ground.

    DCN 27-06-2010
*/

#pragma once
#include "StimBase.h"

class CStimNDot :
    public CStimBase
{
public:
    CStimNDot(const enum Stims::StimType& eStimType_);
    virtual ~CStimNDot(void);

    // prepare stimulus
    virtual void Reset          ();
    
    // change stimulus
    virtual void Draw           ();

    // setters
    virtual double&             SetEyeHeight()          {return _dEyeHeight;}

protected:
    void Compute2DWorldSize();


    //// input:
    // frustum and observer specification
    double                              _dEyeHeight;

    //// variables:
    // computed once
    // display list
    GLuint                              _uDisplay;

    // variables
    double                              _dXRangeMin;
    double                              _dXRangeMax;
    double                              _dZRangeMin;
    double                              _dZRangeMax;
};

